package br.com.lojaexclusiva.modelo.entidade;

public class Vendedor {
	int id;
	int codigo;
	String nome;
	String rg;
	String cpf;

	Endereco Endereco;
	Contato Contato;

	public Vendedor(int id, int codigo, String nome, String rg, String cpf,
			br.com.lojaexclusiva.modelo.entidade.Endereco endereco,
			br.com.lojaexclusiva.modelo.entidade.Contato contato) {
		super();
		this.id = id;
		this.codigo = codigo;
		this.nome = nome;
		this.rg = rg;
		this.cpf = cpf;
		Endereco = endereco;
		Contato = contato;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public int getCodigo() {
		return codigo;
	}

	public void setCodigo(int codigo) {
		this.codigo = codigo;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getRg() {
		return rg;
	}

	public void setRg(String rg) {
		this.rg = rg;
	}

	public String getCpf() {
		return cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

	public Endereco getEndereco() {
		return Endereco;
	}

	public void setEndereco(Endereco endereco) {
		Endereco = endereco;
	}

	public Contato getContato() {
		return Contato;
	}

	public void setContato(Contato contato) {
		Contato = contato;
	}

	@Override
	public String toString() {
		return "Vendedor [id=" + id + ", codigo=" + codigo + ", nome=" + nome
				+ ", rg=" + rg + ", cpf=" + cpf + ", Endereco=" + Endereco
				+ ", Contato=" + Contato + "]";
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((Contato == null) ? 0 : Contato.hashCode());
		result = prime * result
				+ ((Endereco == null) ? 0 : Endereco.hashCode());
		result = prime * result + codigo;
		result = prime * result + ((cpf == null) ? 0 : cpf.hashCode());
		result = prime * result + id;
		result = prime * result + ((nome == null) ? 0 : nome.hashCode());
		result = prime * result + ((rg == null) ? 0 : rg.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Vendedor other = (Vendedor) obj;
		if (Contato == null) {
			if (other.Contato != null)
				return false;
		} else if (!Contato.equals(other.Contato))
			return false;
		if (Endereco == null) {
			if (other.Endereco != null)
				return false;
		} else if (!Endereco.equals(other.Endereco))
			return false;
		if (codigo != other.codigo)
			return false;
		if (cpf == null) {
			if (other.cpf != null)
				return false;
		} else if (!cpf.equals(other.cpf))
			return false;
		if (id != other.id)
			return false;
		if (nome == null) {
			if (other.nome != null)
				return false;
		} else if (!nome.equals(other.nome))
			return false;
		if (rg == null) {
			if (other.rg != null)
				return false;
		} else if (!rg.equals(other.rg))
			return false;
		return true;
	}

}
